As-if-serial exception handling semantics for Java futures

نویسندگان

  • Lingli Zhang
  • Chandra Krintz
چکیده

Exception handling enables programmers to specify the behavior of a program when an exceptional event occurs at runtime. Exception handling, thus, facilitates software fault tolerance and the production of reliable and robust software systems. With the recent emergence of multi-processor systems and parallel programming constructs, techniques are needed that provide exception handling support in these environments that are intuitive and easy to use. Unfortunately, extant semantics of exception handling for concurrent settings is significantly more complex to reason about than their serial counterparts. In this paper, we investigate a similarly intuitive semantics for exception handling for the future parallel programming construct in Java. Futures are used by programmers to identify potentially asynchronous computations and to introduce parallelism into sequential programs. The intent of futures is to provide someperformance benefits through the use of method-level concurrency while maintaining as-if-serial semantics that novice programmers can easily understand — the semantics of a programwith futures is the same as that for an equivalent serial version of the program.We extend this model to provide asif-serial exception handling semantics. Using thismodel our runtime delivers exceptions to the same point it would deliver them if the programwas executed sequentially.We present the design and implementation of our approach and evaluate its efficiency using an open source Java virtual machine. © 2009 Elsevier B.V. All rights reserved.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Programming with exceptions in JCilk

JCilk extends the serial subset of the Java language by importing the fork-join primitives spawn and sync from the Cilk multithreaded language, thereby providing call-return semantics for multithreaded subcomputations. In addition, JCilk transparently integrates Java’s exception handling with multithreading by extending the semantics of Java’s try and catch constructs, but without adding new ke...

متن کامل

PPPJ special issue-Foreword

Originally established in 2002 in Kilkenny, Ireland, the Principles and Practice of Programming in Java (PPPJ) conference series has been held 2003 in Dublin (Ireland), 2004 in Las Vegas (USA), 2006 in Mannheim (Germany), 2007 in Monte de Caparica–Lisbon (Portugal), and 2008 in Modena (Italy). The conference has experienced a steady growth in participation because it is a lively forum for leadi...

متن کامل

Axiomatic Semantics for Java in Isabelle/HOL

We introduce a Hoare-style calculus for a nearly full subset of sequential Java, which we call Java. In particular, we present solutions to challenging features like exception handling, static initialization of classes and dynamic binding of methods. This axiomatic semantics has been proved sound and complete w.r.t. pour operational semantics of Java, described in earlier papers. To our knowled...

متن کامل

The JCilk Language for Multithreaded Computing

JCilk extends the Java language to provide call-return semantics for multithreading, much as Cilk does for C. Java’s built-in thread model does not support the passing of exceptions or return values from one thread back to the “parent” thread that created it. JCilk imports Cilk’s fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. Th...

متن کامل

Hosted by OOPSLA 2005 Preface

JCilk extends the Java language to provide call-return semantics for multithreading, much as Cilk does for C. Java’s built-in thread model does not support the passing of exceptions or return values from one thread back to the “parent” thread that created it. JCilk imports Cilk’s fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. Th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 74  شماره 

صفحات  -

تاریخ انتشار 2009